package org.mall.convert.system;

import org.mall.common.constant.DataDictEnumVO;
import org.mall.modules.system.entity.DataDictAddDTO;
import org.mall.modules.system.entity.DataDictBO;
import org.mall.modules.system.entity.DataDictDO;
import org.mall.modules.system.entity.DataDictUpdateDTO;
import org.mapstruct.Mapper;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper
public interface DataDictConvert {

    DataDictConvert INSTANCE = Mappers.getMapper(DataDictConvert.class);

    DataDictDO convert(DataDictAddDTO dataDictAddDTO);

    DataDictDO convert(DataDictUpdateDTO dataDictUpdateDTO);

    DataDictBO convert(DataDictDO dataDictDO);

    List<DataDictBO> convert(List<DataDictDO> dataDictDOs);

    @Mappings({})
    List<DataDictEnumVO.Value> convert2(List<DataDictBO> dataDictBOs);

}
